//package cn.antblog.poi;
//
//import com.alibaba.fastjson.JSONArray;
//import com.alibaba.fastjson.JSONObject;
//import com.alibaba.fastjson.JSONPObject;
//import com.fasterxml.jackson.databind.annotation.JsonAppend;
//import org.apache.poi.ss.usermodel.HorizontalAlignment;
//import org.apache.poi.ss.util.CellRangeAddress;
//import org.apache.poi.xssf.usermodel.*;
//
//import java.io.*;
//import java.util.*;
//import java.util.stream.Collectors;
//import java.util.stream.Stream;
//
///**
// * @author YangJingyi
// * @date 2021-09-18 8:56
// * 导出Excel
// */
//public class DmcApp {
//
//
//    /**
//     * @param attachFilePath /tmp/
//     * @param objectArr      List<Map<String,String>>
//     * @param fileName       文件名 随便起
//     * @param tableHead
//     * @param tableHeadOrder
//     * @param tableName      XRXC
//     * @param tableDetail
//     * @return
//     */
//    public static boolean writeAndSaveExcel(String attachFilePath, ArrayList objectArr,
//                                            String fileName, HashMap<String, String> tableHead, List<String> tableHeadOrder, String tableName, String tableDetail) {
//        String sheetTitle = "sheet1";
//        boolean writeResult = false;
//        // ArrayList<String> headName = new ArrayList<>();
//        try {
//            File attachFile = new File(attachFilePath);
//            // 创建工作簿对象
//            XSSFWorkbook wb = new XSSFWorkbook();
//            // 创建工作表new FileInputStream(attachFile)
//            XSSFSheet sheet = wb.createSheet(sheetTitle);
//            //workbook创建一个单元格样式cellStyle
//            XSSFCellStyle cellStyle = wb.createCellStyle();
//            XSSFCellStyle cellStyle1 = wb.createCellStyle();
//            XSSFCellStyle cellStyle2 = wb.createCellStyle();
//            XSSFFont font = wb.createFont();
//            font.setBold(true);
//            font.setFontHeight(16);
//            try {
//                //获取多少行
//                int rowLength = objectArr.size();
//                HashMap objectMap = (HashMap) objectArr.get(0);
//                //获取多少列
//                int collLength = objectMap.size();
//
//                if (tableName.equals("XRXC") || tableName.equals("5G")) {
//                    //添加表名
//                    if (tableName.length() > 0) {
//                        //CellRangeAddress(起始行号，终止行号， 起始列号，终止列号）;
//                        CellRangeAddress region = new CellRangeAddress(0, 0, 0, tableHeadOrder.size() - 1);
//                        CellRangeAddress regionDetail = new CellRangeAddress(1, 1, 0, tableHeadOrder.size() - 3);
//                        CellRangeAddress regionUnit = new CellRangeAddress(1, 1, tableHeadOrder.size() - 2, tableHeadOrder.size() - 1);
//                        CellRangeAddress regionDay = new CellRangeAddress(2, 2, 1, (tableHeadOrder.size() - 1) / 2);
//                        CellRangeAddress regionMon = new CellRangeAddress(2, 2, (tableHeadOrder.size() + 1) / 2, tableHeadOrder.size() - 1);
//
//                        cellStyle.setAlignment(HorizontalAlignment.CENTER);//水平居中
//                        cellStyle1.setAlignment(HorizontalAlignment.CENTER);
//                        sheet.addMergedRegion(region);//// 到rowTo行columnTo的区域
//                        XSSFRow rowHeadDesc = sheet.createRow(0);
//                        XSSFCell celldesc = rowHeadDesc.createCell(0);
//                        if (tableName.equals("5G")) {
//                            celldesc.setCellValue("5G发展实时数据");
//                        } else {
//                            if (fileName.substring(0, 2).equals("携入")) {
//                                celldesc.setCellValue("携入用户实时数据");
//                            } else if (fileName.substring(0, 2).equals("携出")) {
//                                celldesc.setCellValue("携出用户实时数据");
//                            } else {
//                                celldesc.setCellValue("携转用户实时数据");
//                            }
//                        }
//                        celldesc.setCellStyle(cellStyle);
//                        cellStyle.setFont(font);
//                        sheet.addMergedRegion(regionDetail);
//                        rowHeadDesc = sheet.createRow(1);
//                        celldesc = rowHeadDesc.createCell(0);
//                        celldesc.setCellValue("截至" + tableDetail);
//
//                        sheet.addMergedRegion(regionUnit);
//                        //rowHeadDesc = sheet.createRow(1);
//                        celldesc = rowHeadDesc.createCell(tableHeadOrder.size() - 2);
//                        celldesc.setCellValue("单位：户");
//                        if (tableName.equals("XRXC")) {
//                            sheet.addMergedRegion(regionDay);
//                            rowHeadDesc = sheet.createRow(2);
//                            celldesc = rowHeadDesc.createCell(1);
//                            celldesc.setCellValue("本日");
//                            celldesc.setCellStyle(cellStyle1);
//                            sheet.addMergedRegion(regionMon);
//                            celldesc = rowHeadDesc.createCell((tableHeadOrder.size() + 1) / 2);
//                            celldesc.setCellValue("本月");
//                            celldesc.setCellStyle(cellStyle1);
//
//                            CellRangeAddress regionEparchy = new CellRangeAddress(2, 3, 0, 0);
//                            sheet.addMergedRegion(regionEparchy);
//                            celldesc = rowHeadDesc.createCell(0);
//                            celldesc.setCellValue("地域");
//                        }
//                    }
//                    // 添加表头
//                    HashMap<String, String> rowHeadMap = (HashMap) objectArr.get(0);
//                    XSSFRow rowHead;
//                    if (tableName.equals("5G")) {
//                        //获取行
//                        rowHead = sheet.createRow(2);
//                    } else {
//                        rowHead = sheet.createRow(3);
//                    }
//                    int rowFlag = 0;
//
//                    for (String s : tableHeadOrder) {
//                        //获取列
//                        XSSFCell cell = rowHead.createCell(rowFlag);
//                        cell.setCellValue(tableHead.get(s));
//                        rowFlag++;
//                    }
//                    int len;
//                    if (tableName.equals("5G")) {
//                        len = 3;
//                    } else {
//                        len = 4;
//                    }
//                    for (int i = len; i < rowLength + len; i++) {
//                        HashMap<String, String> rowMap = (HashMap) objectArr.get(i - len);
//                        XSSFRow row = sheet.createRow(i);
//                        int collFlag = 0;
//                        for (int t = 0; t < tableHeadOrder.size(); t++) {
//                            XSSFCell cell = row.createCell(collFlag);
//                            cell.setCellValue(rowMap.get(tableHeadOrder.get(t)));
//                            collFlag++;
//                        }
//                    }
//                } else {
//                    //添加表名
//                    if (tableName.length() > 0) {
//                        CellRangeAddress region = new CellRangeAddress(0, 0, 0, tableHeadOrder.size());
//                        sheet.addMergedRegion(region);
//                        XSSFRow rowHeadDesc = sheet.createRow(0);
//                        XSSFCell celldesc = rowHeadDesc.createCell(0);
//                        celldesc.setCellValue(tableName);
//                    }
//
//
//                    // 添加表头
//                    HashMap<String, String> rowHeadMap = (HashMap) objectArr.get(0);
//                    XSSFRow rowHead = sheet.createRow(1);
//                    int rowFlag = 0;
//
//                    for (String s : tableHeadOrder) {
//                        XSSFCell cell = rowHead.createCell(rowFlag);
//                        cell.setCellValue(tableHead.get(s));
//                        rowFlag++;
//                    }
//                    for (int i = 1; i < rowLength; i++) {
//                        HashMap<String, String> rowMap = (HashMap) objectArr.get(i);
//                        XSSFRow row = sheet.createRow(i + 1);
//                        int collFlag = 0;
//                        for (int t = 0; t < tableHeadOrder.size(); t++) {
//                            XSSFCell cell = row.createCell(collFlag);
//                            //cell.setNumericCellValue();
////                            if(isNumeric(rowMap.get(tableHeadOrder.get(t)))){
////                                cell.setCellValue(Integer.valueOf(rowMap.get(tableHeadOrder.get(t))));
////                            }else{
////                                cell.setCellValue(rowMap.get(tableHeadOrder.get(t)));
////                            }
//                            cell.setCellValue(rowMap.get(tableHeadOrder.get(t)));
//                            collFlag++;
//                        }
//                    }
//                }
//
//            } catch (Exception e) {
//                e.printStackTrace();
//            }
//
//            FileOutputStream out = new FileOutputStream(attachFile + "/" + fileName, false);
//            wb.write(out);
//            out.close();
//            wb.close();
//            writeResult = true;
//        } catch (Exception e) {
//            e.printStackTrace();
//        }
//        return writeResult;
//    }
//
//
//    /**
//     * @param attachFilePath /tmp/
//     * @param objectArr      List<Map<String,String>> 表内容
//     * @param fileName       文件名 随便起
//     * @param tableHead
//     * @param tableHeadOrder
//     * @param tableName      XRXC
//     * @param tableDetail
//     * @return
//     */
//    public static boolean writeAndSaveExcelTest(String attachFilePath, List<Map<String, String>> objectArr,
//                                                String fileName, Map<String, String> tableHead, List<String> tableHeadOrder,
//                                                String tableName, String tableDetail) {
//        String sheetTitle = "sheet1";
//        boolean writeResult = false;
//        // ArrayList<String> headName = new ArrayList<>();
//        try {
//            File attachFile = new File(attachFilePath);
//            // 创建工作簿对象
//            XSSFWorkbook wb = new XSSFWorkbook();
//            // 创建工作表new FileInputStream(attachFile)
//            XSSFSheet sheet = wb.createSheet(sheetTitle);
//            //workbook创建一个单元格样式cellStyle
//            XSSFCellStyle cellStyle = wb.createCellStyle();
//            XSSFCellStyle cellStyle1 = wb.createCellStyle();
//            XSSFCellStyle cellStyle2 = wb.createCellStyle();
//            XSSFFont font = wb.createFont();
//            font.setBold(true);
//            font.setFontHeight(16);
//            try {
//                //获取多少行
//                int rowLength = objectArr.size();
//                HashMap objectMap = (HashMap) objectArr.get(0);
//                //获取多少列
//                int collLength = objectMap.size();
//
//                if (tableName.equals("XRXC") || tableName.equals("5G")) {
//                    //添加表名
//                    if (tableName.length() > 0) {
//                        //CellRangeAddress(起始行号，终止行号， 起始列号，终止列号）;
//                        CellRangeAddress region = new CellRangeAddress(0, 0, 0, tableHeadOrder.size() - 1);
//                        CellRangeAddress regionDetail = new CellRangeAddress(1, 1, 0, tableHeadOrder.size() - 3);
//                        CellRangeAddress regionUnit = new CellRangeAddress(1, 1, tableHeadOrder.size() - 2, tableHeadOrder.size() - 1);
//                        CellRangeAddress regionDay = new CellRangeAddress(2, 2, 1, (tableHeadOrder.size() - 1) / 2);
//                        CellRangeAddress regionMon = new CellRangeAddress(2, 2, (tableHeadOrder.size() + 1) / 2, tableHeadOrder.size() - 1);
//
//                        cellStyle.setAlignment(HorizontalAlignment.CENTER);//水平居中
//                        cellStyle1.setAlignment(HorizontalAlignment.CENTER);
//                        sheet.addMergedRegion(region);//// 到rowTo行columnTo的区域
//                        XSSFRow rowHeadDesc = sheet.createRow(0);
//                        XSSFCell celldesc = rowHeadDesc.createCell(0);
//                        if (tableName.equals("5G")) {
//                            celldesc.setCellValue("5G发展实时数据");
//                        } else {
//                            if (fileName.substring(0, 2).equals("携入")) {
//                                celldesc.setCellValue("携入用户实时数据");
//                            } else if (fileName.substring(0, 2).equals("携出")) {
//                                celldesc.setCellValue("携出用户实时数据");
//                            } else {
//                                celldesc.setCellValue("携转用户实时数据");
//                            }
//                        }
//                        celldesc.setCellStyle(cellStyle);
//                        cellStyle.setFont(font);
//                        sheet.addMergedRegion(regionDetail);
//                        rowHeadDesc = sheet.createRow(1);
//                        celldesc = rowHeadDesc.createCell(0);
//                        celldesc.setCellValue("截至" + tableDetail);
//
//                        sheet.addMergedRegion(regionUnit);
//                        //rowHeadDesc = sheet.createRow(1);
//                        celldesc = rowHeadDesc.createCell(tableHeadOrder.size() - 2);
//                        celldesc.setCellValue("单位：户");
//                        if (tableName.equals("XRXC")) {
//                            sheet.addMergedRegion(regionDay);
//                            rowHeadDesc = sheet.createRow(2);
//                            celldesc = rowHeadDesc.createCell(1);
//                            celldesc.setCellValue("本日");
//                            celldesc.setCellStyle(cellStyle1);
//                            sheet.addMergedRegion(regionMon);
//                            celldesc = rowHeadDesc.createCell((tableHeadOrder.size() + 1) / 2);
//                            celldesc.setCellValue("本月");
//                            celldesc.setCellStyle(cellStyle1);
//
//                            CellRangeAddress regionEparchy = new CellRangeAddress(2, 3, 0, 0);
//                            sheet.addMergedRegion(regionEparchy);
//                            celldesc = rowHeadDesc.createCell(0);
//                            celldesc.setCellValue("地域");
//                        }
//                    }
//                    // 添加表头
//                    HashMap<String, String> rowHeadMap = (HashMap) objectArr.get(0);
//                    XSSFRow rowHead;
//                    if (tableName.equals("5G")) {
//                        //获取行
//                        rowHead = sheet.createRow(2);
//                    } else {
//                        rowHead = sheet.createRow(3);
//                    }
//                    int rowFlag = 0;
//
//                    for (String s : tableHeadOrder) {
//                        //获取列
//                        XSSFCell cell = rowHead.createCell(rowFlag);
//                        cell.setCellValue(tableHead.get(s));
//                        rowFlag++;
//                    }
//                    int len;
//                    if (tableName.equals("5G")) {
//                        len = 3;
//                    } else {
//                        len = 4;
//                    }
//                    for (int i = len; i < rowLength + len; i++) {
//                        HashMap<String, String> rowMap = (HashMap) objectArr.get(i - len);
//                        XSSFRow row = sheet.createRow(i);
//                        int collFlag = 0;
//                        for (int t = 0; t < tableHeadOrder.size(); t++) {
//                            XSSFCell cell = row.createCell(collFlag);
//                            cell.setCellValue(rowMap.get(tableHeadOrder.get(t)));
//                            collFlag++;
//                        }
//                    }
//                } else {
//                    //添加表名
//                    if (tableName.length() > 0) {
//                        CellRangeAddress region = new CellRangeAddress(0, 0, 0, tableHeadOrder.size());
//                        sheet.addMergedRegion(region);
//                        XSSFRow rowHeadDesc = sheet.createRow(0);
//                        XSSFCell celldesc = rowHeadDesc.createCell(0);
//                        celldesc.setCellValue(tableName);
//                    }
//
//
//                    // 添加表头
//                    HashMap<String, String> rowHeadMap = (HashMap) objectArr.get(0);
//                    XSSFRow rowHead = sheet.createRow(1);
//                    int rowFlag = 0;
//
//                    for (String s : tableHeadOrder) {
//                        XSSFCell cell = rowHead.createCell(rowFlag);
//                        cell.setCellValue(tableHead.get(s));
//                        rowFlag++;
//                    }
//                    for (int i = 1; i < rowLength; i++) {
//                        HashMap<String, String> rowMap = (HashMap) objectArr.get(i);
//                        XSSFRow row = sheet.createRow(i + 1);
//                        int collFlag = 0;
//                        for (int t = 0; t < tableHeadOrder.size(); t++) {
//                            XSSFCell cell = row.createCell(collFlag);
//                            //cell.setNumericCellValue();
////                            if(isNumeric(rowMap.get(tableHeadOrder.get(t)))){
////                                cell.setCellValue(Integer.valueOf(rowMap.get(tableHeadOrder.get(t))));
////                            }else{
////                                cell.setCellValue(rowMap.get(tableHeadOrder.get(t)));
////                            }
//                            cell.setCellValue(rowMap.get(tableHeadOrder.get(t)));
//                            collFlag++;
//                        }
//                    }
//                }
//
//            } catch (Exception e) {
//                e.printStackTrace();
//            }
//
//            FileOutputStream out = new FileOutputStream(attachFile + "/" + fileName, false);
//            wb.write(out);
//            out.close();
//            wb.close();
//            writeResult = true;
//        } catch (Exception e) {
//            e.printStackTrace();
//        }
//        return writeResult;
//    }
//
//
//    /**
//     * 十一、家庭网络检测
//     *
//     * @param attachFilePath
//     * @param objectArr
//     * @param fileName
//     * @param tableHead
//     * @param tableHeadOrder
//     * @param tableName
//     * @param tableDetail
//     * @return
//     */
//    public static boolean writeAndSaveExcelEleven(String attachFilePath, List<Map<String, String>> objectArr,
//                                                  String fileName, Map<String, String> tableHead, List<String> tableHeadOrder, String tableName, String tableDetail) {
//        String sheetTitle = "sheet1";
//        boolean writeResult = false;
//        // ArrayList<String> headName = new ArrayList<>();
//        try {
//            File attachFile = new File(attachFilePath);
//            // 创建工作簿对象
//            XSSFWorkbook wb = new XSSFWorkbook();
//            // 创建工作表new FileInputStream(attachFile)
//            XSSFSheet sheet = wb.createSheet(sheetTitle);
//            //workbook创建一个单元格样式cellStyle
//            XSSFCellStyle cellStyle = wb.createCellStyle();
//            XSSFCellStyle cellStyle1 = wb.createCellStyle();
//            XSSFCellStyle cellStyle2 = wb.createCellStyle();
//            XSSFFont font = wb.createFont();
//            font.setBold(true);
//            font.setFontHeight(16);
//            try {
//                //获取多少行
//                int rowLength = objectArr.size();
//                HashMap objectMap = (HashMap) objectArr.get(0);
//                //获取多少列
//                int collLength = objectMap.size();
//                //添加表名
//                if (tableName.length() > 0) {
//                    //CellRangeAddress(起始行号，终止行号， 起始列号，终止列号）;
//                    CellRangeAddress region = new CellRangeAddress(0, 0, 0, 5);
//                    CellRangeAddress regionUnit = new CellRangeAddress(1, 2, 0, 0);
//                    CellRangeAddress regionName = new CellRangeAddress(1, 2, 1, 1);
//                    CellRangeAddress regionDoor3 = new CellRangeAddress(1, 1, 2, 3);
//                    CellRangeAddress regionCustomer3 = new CellRangeAddress(1, 1, 4, 5);
//
//                    cellStyle.setAlignment(HorizontalAlignment.CENTER);//水平居中
//                    cellStyle1.setAlignment(HorizontalAlignment.CENTER);
//                    //家庭网络检测人员参与情况(本月累计) 写入到表格
//                    sheet.addMergedRegion(region);//// 到rowTo行columnTo的区域
//                    XSSFRow rowHeadDesc = sheet.createRow(0);
//                    XSSFCell celldesc = rowHeadDesc.createCell(0);
//                    celldesc.setCellValue("家庭网络检测人员参与情况(本月累计)");
//                    celldesc.setCellStyle(cellStyle);
//                    cellStyle.setFont(font);
//                    //单位 写入到表格
//                    sheet.addMergedRegion(regionUnit);
//                    rowHeadDesc = sheet.createRow(1);
//                    celldesc = rowHeadDesc.createCell(0);
//                    celldesc.setCellValue("单位");
//                    //工程师及客户经理 写入到表格
//                    sheet.addMergedRegion(regionName);
//                    celldesc = rowHeadDesc.createCell(1);
//                    celldesc.setCellValue("工程师及客户经理");
//                    //上门测速3次及以上人员 写入到表格
//                    sheet.addMergedRegion(regionDoor3);
//                    celldesc = rowHeadDesc.createCell(2);
//                    celldesc.setCellValue("上门测速3次及以上人员");
//                    //代客下单3次及以上人员 写入到表格
//                    sheet.addMergedRegion(regionCustomer3);
//                    celldesc = rowHeadDesc.createCell(4);
//                    celldesc.setCellValue("代客下单3次及以上人员");
//                }
//                /*// 添加表头
//                HashMap<String, String> rowHeadMap = (HashMap) objectArr.get(0);
//                XSSFRow rowHead;
//                if (tableName.equals("5G")) {
//                    //获取行
//                    rowHead = sheet.createRow(2);
//                } else {
//                    rowHead = sheet.createRow(3);
//                }
//                int rowFlag = 0;
//
//                for (String s : tableHeadOrder) {
//                    //获取列
//                    XSSFCell cell = rowHead.createCell(rowFlag);
//                    cell.setCellValue(tableHead.get(s));
//                    rowFlag++;
//                }
//                int len;
//                if (tableName.equals("5G")) {
//                    len = 3;
//                } else {
//                    len = 4;
//                }
//                for (int i = len; i < rowLength + len; i++) {
//                    HashMap<String, String> rowMap = (HashMap) objectArr.get(i - len);
//                    XSSFRow row = sheet.createRow(i);
//                    int collFlag = 0;
//                    for (int t = 0; t < tableHeadOrder.size(); t++) {
//                        XSSFCell cell = row.createCell(collFlag);
//                        cell.setCellValue(rowMap.get(tableHeadOrder.get(t)));
//                        collFlag++;
//                    }
//                }
//                */
//
//            } catch (Exception e) {
//                e.printStackTrace();
//            }
//
//            FileOutputStream out = new FileOutputStream(attachFile + "/" + fileName, false);
//            wb.write(out);
//            out.close();
//            wb.close();
//            writeResult = true;
//        } catch (Exception e) {
//            e.printStackTrace();
//        }
//        return writeResult;
//    }
//
//
//    //***************************************** 以上是 批量 画表格版本 / 以下是 根据模板填 数据版本 *******************************************
//
//
//
//    /**
//     * 读excel 文件 往excel 文件写入数据
//     * @param attachFilePath
//     * @param fileName    宽带发展日报.xlsx
//     * @param whichSheet  宽带发展/融合发展/融合移网主卡活跃率/千兆宽带地市发展/单移转融发展/单宽转融发展/宽带沉默用户促活转融/固定电话发展/家庭网络检测/家庭网络检测人员参与情况(本月累计)
//     * @param tableHeadOrderMap 标题的顺序
//     * @param objectMap 排完序的数据
//     * @return
//     * @throws IOException
//     */
//    public static boolean writeExcelByFile(String attachFilePath,String fileName,List<String> whichSheet,
//                                           Map<String ,List<String>> tableHeadOrderMap, Map<String , List<Map<String,String>> > objectMap)  {
//        try {
//            //objectMap.
//            //objectArr
//
//            // C:\\Users\\YangJingyi\\Desktop\\宽带发展日报模板.xlsx
//            //模板的位置
//            File excelTempFile = new File("C:\\Users\\YangJingyi\\Desktop\\导出excel\\excelTest.xlsx");
//            XSSFWorkbook wb = new XSSFWorkbook(new FileInputStream(excelTempFile));
//            //获取sheet1
//            for (String sheet : whichSheet) {
//                //获取标题排序
//                List<String> tableHeadOrder = tableHeadOrderMap.get(sheet);
//                //获取数据
//                List<Map<String, String>> objectArr = objectMap.get(sheet);
//
//                XSSFSheet  xssfSheet = wb.getSheet(sheet);
//                int r = 3;
//                for (Map<String, String> map : objectArr) {
//                    //获取row   从0开始
//                    XSSFRow row = xssfSheet.getRow(r); //固定
//                    //动态列选择
//                    int c =0 ;
//                    for (String title : tableHeadOrder) {
//                        // 获取列 cell 从0开始
//                        XSSFCell cell = row.getCell(c);
//                        cell.setCellValue(map.get(title));
//                        c++;
//                    }
//                    r++;
//                }
//            }
//            //另存为的位置
//            FileOutputStream out = new FileOutputStream(attachFilePath + "/" + fileName, false);
//            wb.write(out);
//            out.close();
//            wb.close();
//            return false;
//        }catch (Exception e){
//            e.printStackTrace();
//        }
//        return false;
//    }
//
//    public static Map<String , List<Map<String,String>>> orderMap() throws IOException {
//        //声明一个map 用作存储 每个sheet 数据  key为sheet名 value 即:数据
//        Map<String , List<Map<String,String>> > listHashMap = new HashMap<>();
//
//        BufferedReader in = new BufferedReader(new FileReader("D:\\myJob\\IDEAWorkSpace\\my\\practice\\src\\main\\java\\cn\\antblog\\poi\\ZB_DATA.json"));
//        StringBuilder sb = new StringBuilder();
//        String str ;
//        while ((str = in.readLine()) != null) {
//            //System.out.println(str);
//            sb.append(str);
//        }
//        //System.out.println(sb);
//        JSONObject sbObject = JSONObject.parseObject(String.valueOf(sb));
//        JSONObject object = (JSONObject) sbObject.get("object");
//        JSONArray tableDateOneList = (JSONArray) object.get("tableDateOneList");
//
//        BufferedReader in2 = new BufferedReader(new FileReader("D:\\myJob\\IDEAWorkSpace\\my\\practice\\src\\main\\java\\cn\\antblog\\poi\\ZB_DATA2.json"));
//        StringBuilder sb2 = new StringBuilder();
//        String str2 ;
//        while ((str2 = in2.readLine()) != null) {
//            sb2.append(str2);
//        }
//        JSONObject sbObject2 = JSONObject.parseObject(String.valueOf(sb2));
//        JSONObject object2 = (JSONObject) sbObject2.get("object");
//        JSONArray tableDateOneList2 = (JSONArray) object2.get("tableDateOneList");
//
//        List<Map<String,String>>  arrObj = JSONArray.parseObject(tableDateOneList.toJSONString(), List.class);
//        List<Map<String,String>>  arrObj2 = JSONArray.parseObject(tableDateOneList2.toJSONString(), List.class);
//        listHashMap.put("Test1",arrObj);
//        listHashMap.put("Test2",arrObj2);
//        //排序前
////        for (Map<String, String> map : arrObj) {
////            System.out.println(map.get("XSLJ_DEV_NUMS"));
////        }
//        //System.out.println(arrObj.toString());
//
////        Collections.sort(arrObj,((o1, o2) -> {
////            Float name1 = Float.valueOf(o1.get("XSLJ_DEV_NUMS"));
////            Float name2 = Float.valueOf(o2.get("XSLJ_DEV_NUMS"));
////            return name2.compareTo(name1);
////        }));
//
////        Collections.sort(arrObj,((o1,o2)->{
////            Float name1 = Float.valueOf(o1.get("DAY_FINISH_RATE"));
////            Float name2 = Float.valueOf(o2.get("DAY_FINISH_RATE"));
////            return name2.compareTo(name1);
////        }));
//        //System.out.println(arrObj.toString());
//
//        //截取 前三 后三
//       // List<Map<String, String>> limitList = arrObj.stream().limit(3).collect(Collectors.toList());
//        //System.out.println("limit:"+limitList.toString());
//
//        //排序后
//       // System.out.println("-------------------");
//        //System.out.println(arrObj.toString());
////        for (Map<String, String> map : arrObj) {
////            System.out.println(map.get("XSLJ_DEV_NUMS"));
////        }
//        return listHashMap;
//    }
//
//    public static void main(String[] args) throws IOException {
//        // 画 excel 表头   来 再来填数据
//        /*String tableDetail = "2021年09月18日";
//        List<Map<String, String>> mapList = new ArrayList<>();
//        Map<String, String> tableHeader = new HashMap<>();
//        tableHeader.put("1", "电信携入1");
//        tableHeader.put("2", "电信携入2");
//        tableHeader.put("3", "电信携入3");
//        tableHeader.put("4", "电信携入4");
//        tableHeader.put("5", "电信携入5");
//        tableHeader.put("6", "电信携入6");
//        tableHeader.put("7", "电信携入7");
//        tableHeader.put("8", "电信携入8");
//        tableHeader.put("9", "电信携入9");
//        List<String> tableHeaderOrder = new ArrayList<>();
//        tableHeaderOrder.add("1");
//        tableHeaderOrder.add("2");
//        tableHeaderOrder.add("3");
//        tableHeaderOrder.add("4");
//        tableHeaderOrder.add("5");
//        tableHeaderOrder.add("6");
//        tableHeaderOrder.add("7");
//        tableHeaderOrder.add("8");
//        tableHeaderOrder.add("9");
//        mapList.add(tableHeader);
//        writeAndSaveExcelEleven("D://", mapList, "Test2.xlsx", tableHeader, tableHeaderOrder, "XRXC", tableDetail);*/
//
//        //根据提供的 Excel模板 来 填数据
//        String sheetStrs  = "Test1,Test2";
//        String[] strArr = sheetStrs.split(",");
//        List<String> listSheet = Arrays.asList(strArr);
//        System.out.println(listSheet);
//        // -------------------------------------
//        Map<String ,List<String>> listMap = new HashMap<>();
//        List<String> tableHeadOrder1 = new ArrayList<>();
//        tableHeadOrder1.add("EPARCHY_NAME");
//        tableHeadOrder1.add("DEV_TC_NUMS");
//        tableHeadOrder1.add("DAY_DIFF_TARGET");
//        tableHeadOrder1.add("JD_FINISH_RATE");
//        tableHeadOrder1.add("EPARCHY_CODE");
//        tableHeadOrder1.add("XSLJ_DEV_NUMS");
//        listMap.put("Test1",tableHeadOrder1);
//        List<String> tableHeadOrder2 = new ArrayList<>();
//        tableHeadOrder2.add("EPARCHY_NAME");
//        tableHeadOrder2.add("XSWCL_JD");
//        tableHeadOrder2.add("WCL_DAY");
//        tableHeadOrder2.add("CHZR_JD");
//        tableHeadOrder2.add("CHZR_DAY");
//        tableHeadOrder2.add("EPARCHY_CODE");
//        tableHeadOrder2.add("RH_INDEX");
//        tableHeadOrder2.add("TIMEST");
//        listMap.put("Test2",tableHeadOrder2);
//
//        writeExcelByFile("C:\\Users\\YangJingyi\\Desktop\\","excelTest导出.xlsx",listSheet,listMap,orderMap());
//        orderMap();
//    }
//
//
//}
